import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import *
testCase="DBshop004_取消订单流程"
firefox=openBrowser(url)
firefox.implicitly_wait(15)
#调用自定义函数进行登录
DBshopLogin(firefox,userName,password)
# 1.在首页搜索"小米",点击搜索按钮
firefox.find_element_by_xpath('//input[@name="keywords"]').send_keys('小米')
firefox.find_element_by_xpath('//input[@type="submit"]').click()
# 2.选择小米mix3,加入到购物车,点击购物车按钮
firefox.find_element_by_xpath("//img[@alt='小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏']").click()
        # 换页
firefox.switch_to.window(firefox.window_handles[-1])
        # 点击假如购物车
firefox.find_element_by_id('add_cart_submit').click()
time.sleep(3)
firefox.find_element_by_partial_link_text('去购物车结算').click()
# 3.点击"去结算"按钮
firefox.find_element_by_link_text('去结算').click()
# 4.默认地址已经选择,点击下一步按钮
firefox.find_element_by_xpath("//input[@value='下一步']").click()
# 5.支付方式选择"余额支付",点击确认订单
firefox.find_element_by_xpath("(//input[@name='payment_code'])[1]").click()
firefox.find_element_by_xpath("//input[@value='确认订单']").click()
orderNO=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
# 获取项目绝对路径
rootpath=get_pro_rootpath()
# 将订单号写入文件中，方便后面的脚本使用订单号
writeFile(rootpath+'\public\order004.tet',orderNO)
# 6.点击"查看订单详情",点击"取消订单"
firefox.find_element_by_xpath("//input[@value='查看订单详情']").click()
firefox.find_element_by_xpath("//button[text()='取消订单']").click()
firefox.switch_to.alert.accept()
firefox.find_element_by_partial_link_text('无效订单').click()
firefox.find_element_by_name('search_order_sn').send_keys(orderNO)
firefox.find_element_by_xpath("//button").click()
try:
    firefox.find_element_by_link_text(orderNO)
    writeLog("%s 测试通过"%testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()
